package utils

func Equals(a interface{}, b interface{})bool {
    sliceA, okA :=  a.([]byte)
    sliceB, okB :=  b.([]byte)
    if okA && okB {
        return BytesEquals(sliceA, sliceB)
    }
    return a == b
}

func BytesEquals(a []byte, b []byte) bool {
    if (a == nil && b != nil) || (a != nil && b == nil) {
        return false
    }
    if len(a) != len(b) {
        return false
    }
    size := len(a)
    for i := 0; i < size; i++ {
        av := a[i]
        bv := b[i]
        if av != bv {
            return false
        }
    }
    return true
}
